iT邦幫忙

2025 iThome 鐵人賽

DAY 8
0
Cloud Native

江湖在走,Cloudflare 要懂,懂得天天吃板橋湳雅夜市系列 第 8

第8天,Cloudflare Cache / 四神湯、刈包 | 30天板橋湳雅夜市

  • 分享至 

  • xImage
  •  

https://ithelp.ithome.com.tw/upload/images/20250922/20163416RxbEckXjoI.png

在使用 Cloudflare 作為 CDN 與反向代理時,**Cache(快取)**機制是它最核心的功能之一。合理的快取策略不僅能提升網站效能、降低伺服器負載,還能節省頻寬費用。但如果設定不當,則可能引發資安風險與資料洩漏。本文將帶你認識 Cloudflare Cache 的工作原理與潛在的安全議題。

Cloudflare Cache 基礎概念

Cloudflare 的快取是以 URL 為基準,同時會依照副檔名來決定是否進行快取。

  • 常見會被快取的副檔名:如 .jpg.png.css.js.woff 等靜態資源。
  • 不會被快取的副檔名:像 .html.php.asp.aspx.cgi 等動態資源,預設會回源。

副檔名詳見 官方文件

例如:

  • https://aaa.example.com/1.jpg → 預設會被快取
  • https://aaa.example.com/index.php → 預設不會被快取

另外需要注意,Cloudflare 預設會將 完整 URL(含 query string) 視為不同資源:

  • https://aaa.example.com/1.jpg
  • https://aaa.example.com/1.jpg?123

雖然檔案一樣,但會被視為兩個不同的快取。這也是許多網站用 ?v=123 來作為 cache busting(強制更新)的原因。

資安相關風險

雖然 Cache 能提升效能,但若設定不當,可能會引發嚴重的安全問題:

  1. 私有資料被快取

    • 如果將帶有使用者身份資訊(例如 session_idtoken)的 API 結果快取,可能會導致其他使用者誤取到他人資料。
  2. 實際案例:ChatGPT Session 洩漏

    • 2023 年有研究者發現,ChatGPT 的 /api/auth/session API 回應可能被誤以為是靜態資源並被快取,例如透過路徑構造成 https://chat.openai.com/api/auth/session/hack.css。受害者若被誘導點擊,伺服器的 JSON session 回應就會被快取到邊緣節點,攻擊者再請求同樣的 .css URL 就能取得使用者的 access token,進而帳號接管。資料來源

    • 教訓:不能只依據副檔名判斷是否快取,對敏感 API 應加上 Cache-Control: no-store,並在 CDN 層設定 /api/* 等路徑禁止快取,或是不允許在路徑後綴增加任意字元。

結語

Cloudflare Cache 是一把雙面刃:用得好能降低成本、加速存取,用不好則可能讓資料外洩或被濫用。建議在設計快取策略時,將 副檔名規則、效能與安全性 一起考量,並善用 Cloudflare 的 Cache Rules、WAF、防火牆策略,打造高效又安全的網站。

四神湯、刈包

https://ithelp.ithome.com.tw/upload/images/20250922/201634167j7i7vpN6U.jpg

這家就只賣四神湯、刈包,兩個都非常好吃,來湳雅夜市一定要試試看,老闆也很友善,一組加起來110元。

https://ithelp.ithome.com.tw/upload/images/20250922/20163416b50heKPyvD.jpg


上一篇
第7天,Cloudflare DNS 與 Proxy / 什錦燴飯 美味的飯 | 30天板橋湳雅夜市
下一篇
第9天,Cloudflare SSL 憑證 / 板橋小籠包 | 30天板橋湳雅夜市
系列文
江湖在走,Cloudflare 要懂,懂得天天吃板橋湳雅夜市10
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言